﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Conexion;
using AccesoDatos.Objetos;
using System.Data;

namespace AccesoDatos.Manejador
{
    public class Manejador_Consignacion
    {
        ClsConexion conexion = new ClsConexion();
        objConsignacion obj = new objConsignacion();
        public int id_actual;
        public DateTime fecha;
        public bool InsercionEquipoConsignacion(
            string Id_empleado, string Tipo_Equipo, string MotherBoard_Marca, string No_de_Serie, string Procesador, string Disco_Duro,
            string RAM, string Monitor_Marca, string Monitor_Modelo, string Monitor_No_Serie, string Mouse_Marca, string Mouse_Modelo,
            string Mouse_No_Serie, string Teclado_Marca, string Teclado_Modelo, string Teclado_No_Serie, string Accesorio_1, string Accesorio_2,
            string Accesorio_3, string Accesorio_4, string Accesorio_5, string Comentario, int Estatus, DateTime Fecha)
        {

            try
            {
                List<ClsParametros> lista = new List<ClsParametros>();
                lista.Add(new ClsParametros("@Id_empleado", Id_empleado));
                lista.Add(new ClsParametros("@Tipo_Equipo", Tipo_Equipo));
                lista.Add(new ClsParametros("@MotherBoard_Marca", MotherBoard_Marca));
                lista.Add(new ClsParametros("@No_de_Serie", No_de_Serie));
                lista.Add(new ClsParametros("@Procesador", Procesador));
                lista.Add(new ClsParametros("@Disco_Duro", Disco_Duro));
                lista.Add(new ClsParametros("@RAM", RAM));
                lista.Add(new ClsParametros("@Monitor_Marca", Monitor_Marca));
                lista.Add(new ClsParametros("@Monitor_Modelo", Monitor_Modelo));
                lista.Add(new ClsParametros("@Monitor_No_Serie", Monitor_No_Serie));
                lista.Add(new ClsParametros("@Mouse_Marca", Mouse_Modelo));
                lista.Add(new ClsParametros("@Mouse_Modelo", Mouse_Modelo));
                lista.Add(new ClsParametros("@Mouse_No_Serie", Mouse_No_Serie));
                lista.Add(new ClsParametros("@Teclado_Marca", Teclado_Marca));
                lista.Add(new ClsParametros("@Teclado_Modelo", Teclado_Modelo));
                lista.Add(new ClsParametros("@Teclado_No_Serie", Teclado_No_Serie));
                lista.Add(new ClsParametros("@Accesorio_1", Accesorio_1));
                lista.Add(new ClsParametros("@Accesorio_2", Accesorio_2));
                lista.Add(new ClsParametros("@Accesorio_3", Accesorio_3));
                lista.Add(new ClsParametros("@Accesorio_4", Accesorio_4));
                lista.Add(new ClsParametros("@Accesorio_5", Accesorio_5));
                lista.Add(new ClsParametros("@Comentario", Comentario));
                lista.Add(new ClsParametros("@Estatus", Estatus.ToString()));
                lista.Add(new ClsParametros("@Fecha", Fecha.ToString()));
                DataTable datos = conexion.Datatable_standart("sp_RH_Consignacion_add_Equipo", lista);
                DataRow[] array = new DataRow[datos.Rows.Count];
                datos.Rows.CopyTo(array, 0);
                object[] Info = datos.Rows[0].ItemArray;
                id_actual = int.Parse(Info[0].ToString().Trim());
                fecha = DateTime.Parse(Info[1].ToString().Trim());
                return true;
            }
            catch
            {
                return false;
            }

        }

        public objConsignacion ListaConsignacion(int Id_empleado)
        {
            try
            {

                List<ClsParametros> lista = new List<ClsParametros>();
                lista.Add(new ClsParametros("@Id_empleado", Id_empleado.ToString()));
                DataTable datos = conexion.Datatable_standart("sp_RH_Consignacion_Consulta_Usuario", lista);
                DataRow[] array = new DataRow[datos.Rows.Count];
                datos.Rows.CopyTo(array, 0);
                object[] Info = datos.Rows[0].ItemArray;
                obj.Id_Consigacion = int.Parse(Info[0].ToString().Trim());
                obj.Id_Empleado = int.Parse(Info[1].ToString().Trim());
                obj.Tipo_Equipo = Info[2].ToString().Trim();
                obj.MotherBoard_Marca = Info[3].ToString().Trim();
                obj.No_De_Serie = Info[4].ToString().Trim();
                obj.Procesador = Info[5].ToString().Trim();
                obj.Disco_Duro = Info[6].ToString().Trim();
                obj.RAM = Info[7].ToString().Trim();
                obj.Monitor_Marca = Info[8].ToString().Trim();
                obj.Monitor_Modelo = Info[9].ToString().Trim();
                obj.Monitor_No_Serie = Info[10].ToString().Trim();
                obj.Mouse_Marca = Info[11].ToString().Trim();
                obj.Mouse_Modelo = Info[12].ToString().Trim();
                obj.Mouse_No_Serie = Info[13].ToString().Trim();
                obj.Teclado_Marca = Info[14].ToString().Trim();
                obj.Teclado_Modelo = Info[15].ToString().Trim();
                obj.Teclado_No_Serie = Info[16].ToString().Trim();
                obj.Accesorio_1 = Info[17].ToString().Trim();
                obj.Accesorio_2 = Info[18].ToString().Trim();
                obj.Accesorio_3 = Info[19].ToString().Trim();
                obj.Accesorio_4 = Info[20].ToString().Trim();
                obj.Accesorio_5 = Info[21].ToString().Trim();
                obj.Comentario = Info[22].ToString().Trim();
                obj.Estatus = Info[23].ToString().Trim();
                obj.Fecha_Consignacion = DateTime.Parse(Info[24].ToString().Trim());
                return obj;

            }
            catch
            {
                return null;
            }
        }

        public bool ModificarConsignacion(
           int Id_empleado, string Tipo_Equipo, string MotherBoard_Marca, string No_de_Serie, string Procesador, string Disco_Duro,
           string RAM, string Monitor_Marca, string Monitor_Modelo, string Monitor_No_Serie, string Mouse_Marca, string Mouse_Modelo,
           string Mouse_No_Serie, string Teclado_Marca, string Teclado_Modelo, string Teclado_No_Serie, string Accesorio_1, string Accesorio_2,
           string Accesorio_3, string Accesorio_4, string Accesorio_5, string Comentario, int Estatus)
        {

            try
            {
                List<ClsParametros> lista = new List<ClsParametros>();
                lista.Add(new ClsParametros("@Id_empleado", Id_empleado.ToString()));
                lista.Add(new ClsParametros("@Tipo_Equipo", Tipo_Equipo));
                lista.Add(new ClsParametros("@MotherBoard_Marca", MotherBoard_Marca));
                lista.Add(new ClsParametros("@No_de_Serie", No_de_Serie));
                lista.Add(new ClsParametros("@Procesador", Procesador));
                lista.Add(new ClsParametros("@Disco_Duro", Disco_Duro));
                lista.Add(new ClsParametros("@RAM", RAM));
                lista.Add(new ClsParametros("@Monitor_Marca", Monitor_Marca));
                lista.Add(new ClsParametros("@Monitor_Modelo", Monitor_Modelo));
                lista.Add(new ClsParametros("@Monitor_No_Serie", Monitor_No_Serie));
                lista.Add(new ClsParametros("@Mouse_Marca", Mouse_Modelo));
                lista.Add(new ClsParametros("@Mouse_Modelo", Mouse_Modelo));
                lista.Add(new ClsParametros("@Mouse_No_Serie", Mouse_No_Serie));
                lista.Add(new ClsParametros("@Teclado_Marca", Teclado_Marca));
                lista.Add(new ClsParametros("@Teclado_Modelo", Teclado_Modelo));
                lista.Add(new ClsParametros("@Teclado_No_Serie", Teclado_No_Serie));
                lista.Add(new ClsParametros("@Accesorio_1", Accesorio_1));
                lista.Add(new ClsParametros("@Accesorio_2", Accesorio_2));
                lista.Add(new ClsParametros("@Accesorio_3", Accesorio_3));
                lista.Add(new ClsParametros("@Accesorio_4", Accesorio_4));
                lista.Add(new ClsParametros("@Accesorio_5", Accesorio_5));
                lista.Add(new ClsParametros("@Comentario", Comentario));
                lista.Add(new ClsParametros("@Estatus", Estatus.ToString()));

                bool resp = conexion.Procedure_standart("sp_RH_Consignacion_Modificar_Equipo", lista);
                return true;
            }  
            catch
            {
                return false;
            }

        }

        public DataTable Marcas() {
            DataTable datos = conexion.Datatable_standart("sp_RH_Consignacion_Marcas_Consulta");
        return datos;
        }
        public DataTable ReportUnaConsignaicon(int Id_Consignacion)
        {
            List<ClsParametros> lista = new List<ClsParametros>();
            lista.Add(new ClsParametros("@Id_Consignacion", Id_Consignacion.ToString()));
            DataTable datos = conexion.Datatable_standart("sp_RH_Consignacion_Consulta_Reporte", lista);
            return datos;
        }

        public DataTable ReportHistConsignacion(int Id_empleado)
        {
            List<ClsParametros> lista = new List<ClsParametros>();
            lista.Add(new ClsParametros("@Id_empleado", Id_empleado.ToString()));
            DataTable datos = conexion.Datatable_standart("sp_RH_Consignacion_Consulta_Historial_Empleado", lista);
            return datos;
        }
        

    }

}
